Data hierarchy schemes, such as tree structures, are important tools for representing, organizing, and retrieving data. The typical scheme starts by establishing definitions that classify the types of data involved. At the same time, each data type may be associated with a reference mechanism (e.g., a pointer, a link, or a physical memory address) that refers to the data represented by the hierarchy scheme. Additionally, the reference mechanisms may negatively impact performance in traversing the hierarchy and in processing query requests.
Current practices rely on the basic tree structure and apply various programming languages to fit its needs. Using FIG. 1 as an illustration, a taxonomy structure 100 is a basic example of organizing hardware data within a device. In this taxonomy structure, a hardware node 102 is classified as a parent node for all other nodes because it is at the top of the hierarchy. The hardware node 102 has one or more children and one of them is an interface node 104. The hardware node 102 thus includes a pointer or a reference referring to its child node, the interface node 104 in this example. The interface node 104 is also a parent to its children nodes. Likewise, the interface node 104 has a pointer referring to its parent, the hardware node 102, and a pointer referring to its children nodes, in this case COM1 and COM2.
In this basic and fundamental existing hierarchy scheme, it is convenient to implement the pointers and establish a relationship based on the pointers. However, one needs to perform a complete traversal of the structure before knowing all of the relationships. Using FIG. 1 as an example, one needs to traverse three levels of the tree structure to the COM1 to know that it is in a lower hierarchical level than the interface node 104. When traversing to the interface node 104, one would only know that there might be a lower level (since it is likely that there is a pointer but it may point to NULL), but it may not know the identity of that lower node until one traverses to the lower level. Traversing the entire structure, generally designated 108, is shown moving from left to right in the tree structure of FIG. 1.